From fcd36e59b12c9c476e3882bea6b0f51eafacd864 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 2 Apr 2020 00:39:46 -0400 Subject: [PATCH] Fix crossing event generation We were not properly setting the new_descendent field in Crossing structs for GTK_CROSSING_OUT events. This was causing extraneous ::leave signals to be emitted, and make model buttons in popover menus flicker when hovered. Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2536 --- gtk/gtkmain.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 0b99a0030f..d100e578dd 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -1317,6 +1317,7 @@ gtk_synthesize_crossing_events (GtkRoot *toplevel, gtk_widget_handle_crossing (widget, &crossing, x, y); if (crossing_type == GTK_CROSSING_POINTER) gtk_widget_unset_state_flags (widget, GTK_STATE_FLAG_PRELIGHT); + prev = widget; widget = gtk_widget_get_parent (widget); } -- 2.30.2